import { type CsvMapperParsed } from '../../../../src/modules/internal/csvMapper/csvMapper-types';
import { repArea, repAreaWithDefault } from './representation-area';
import { repIndividual } from './representation-individual';
import { repKillChainPhase } from './representation-killchainphase';
import { repMalware, repMalwareWithDefault } from './representation-malware';
import { repRelTargets } from './representation-rel-targets';

export const csvMapperAreaMalware: Partial<CsvMapperParsed> = {
  id: 'mapper-area-malware',
  has_header: true,
  separator: ',',
  representations: [
    repArea,
    repIndividual,
    repKillChainPhase,
    repMalware,
  ]
};

export const csvMapperAreaMalwareDefault: (
  creator: string,
  kcf: string[]
) => Partial<CsvMapperParsed> = (creator, kcf) => ({
  id: 'mapper-area-malware-default',
  has_header: true,
  separator: ',',
  representations: [
    repAreaWithDefault(creator),
    repIndividual,
    repKillChainPhase,
    repMalwareWithDefault(kcf),
    repRelTargets
  ]
});
